back

Recreating Noitas Sand Simulation in C and OpenGL | Game Engineering

#cpp #OpenGL #Game #Engine #Games
Exploring and attempting to recreate Noitas “Falling-Sand” Simulation from scratch using C and OpenGL.

Be sure to like and subscribe, you cool people. That way I can continue to make more vids
like this.

NOTE: Theres a typo @2:07. I wrote “bytes” when it should be “bits” for the gs_vec2, color_t, and b32 member variables for the particle struct. So the overall size should be drastically different (only 24 bytes in total). Sorry for the confusion!

00:00 - Introduction
00:33 - Gunslinger
00:58 - Research/Resources
01:13 - Cellular Automata
01:52 - Sand Algorithm
03:15 - Water
05:25 - Wood/Walls
05:53 - Fire
06:32 - Gunpowder/Salt/Lava/Oil/Acid
07:37 - Polish/UI/Drag-Drop Images
08:56 - Final Sand Sim Presentation / Exploding Pictures

Project source:
https://github.com/GameEngineering/EP01_SandSim

Gunslinger:
https://github.com/MrFrenik/gunslinger/

Get Noita:
https://store.steampowered.com/app/881100/Noita/

Get Powder Toy:
https://powdertoy.co.uk/

Music:
Blue Dot Sessions - Lakdeside Path: https://www.sessions.blue/?fwp_sessions=duck-lake

Resources Used:
Nolla Games GDC: https://www.youtube.com/watch?v=prXuyMCgbTc&t=0s
Noita Gameplay Showcase - https://www.youtube.com/watch?v=1pUItG5RUTM&t=0s
Noita Technical Explanation - https://www.youtube.com/watch?v=0We8a8AFPp8&t=0s
Game Of Life: https://www.youtube.com/watch?v=ouipbDkwHWA&t=84s
Game Of LIfe: https://www.youtube.com/watch?v=C2vgICfQawE&t=322s

Stuff To Read:
https://medium.com/starts-with-a-bang/it-from-bit-is-the-universe-a-cellular-automaton-4a5b1426ba6d
https://80.lv/articles/noita-a-game-based-on-falling-sand-simulation/
https://maxbittker.com/making-sandspiel

Special Thanks:
Guilherme Teres from Uniday Studio: https://www.youtube.com/channel/UCntWQfGQ_KN4ABafiwSiuGA/featured

Everyone in my Discord channel. Thanks for hanging around and being awesome.

{
  "type": "file",
  "name": "Recreating Noitas Sand Simulation.md",
  "path": "/resources/articles/Recreating Noitas Sand Simulation.md",
  "modTime": "2025-10-22T15:24:22.915Z",
  "mime": "application/markdown",
  "size": 2101,
  "content": {
    "_schema": "Article",
    "_type": "Article",
    "articleBody": "#cpp #OpenGL #Game #Engine #Games\nExploring and attempting to recreate Noitas \"Falling-Sand\" Simulation from scratch using C and OpenGL. \n\nBe sure to like and subscribe, you cool people. That way I can continue to make more vids\nlike this. \n\nNOTE: Theres a typo @2:07. I wrote \"bytes\" when it should be \"bits\" for the gs_vec2, color_t, and b32 member variables for the particle struct. So the overall size should be *drastically* different (only 24 bytes in total). Sorry for the confusion!\n\n00:00  - Introduction\n00:33  - Gunslinger\n00:58  - Research/Resources\n01:13  - Cellular Automata\n01:52  - Sand Algorithm\n03:15  - Water \n05:25  - Wood/Walls\n05:53  - Fire\n06:32  - Gunpowder/Salt/Lava/Oil/Acid\n07:37  - Polish/UI/Drag-Drop Images\n08:56  - Final Sand Sim Presentation / Exploding Pictures\n\nProject source: \nhttps://github.com/GameEngineering/EP01_SandSim\n\nGunslinger:\nhttps://github.com/MrFrenik/gunslinger/\n\nGet Noita: \nhttps://store.steampowered.com/app/881100/Noita/\n\nGet Powder Toy:\nhttps://powdertoy.co.uk/\n\nMusic: \nBlue Dot Sessions - Lakdeside Path: https://www.sessions.blue/?fwp_sessions=duck-lake\n\nResources Used:\nNolla Games GDC: https://www.youtube.com/watch?v=prXuyMCgbTc&t=0s\nNoita Gameplay Showcase - https://www.youtube.com/watch?v=1pUItG5RUTM&t=0s\nNoita Technical Explanation  - https://www.youtube.com/watch?v=0We8a8AFPp8&t=0s\nGame Of Life: https://www.youtube.com/watch?v=ouipbDkwHWA&t=84s\nGame Of LIfe: https://www.youtube.com/watch?v=C2vgICfQawE&t=322s\n\nStuff To Read:\nhttps://medium.com/starts-with-a-bang/it-from-bit-is-the-universe-a-cellular-automaton-4a5b1426ba6d\nhttps://80.lv/articles/noita-a-game-based-on-falling-sand-simulation/\nhttps://maxbittker.com/making-sandspiel\n\nSpecial Thanks: \n Guilherme Teres from Uniday Studio: https://www.youtube.com/channel/UCntWQfGQ_KN4ABafiwSiuGA/featured\n\nEveryone in my Discord channel. Thanks for hanging around and being awesome.\n",
    "author": {
      "_type": "Person",
      "name": "John Jackson"
    },
    "headline": "Recreating Noitas Sand Simulation in C and OpenGL | Game Engineering",
    "reviewRating": {
      "bestRating": 5,
      "ratingValue": 4,
      "worstRating": 1
    },
    "url": "https://www.youtube.com/watch?v=VLZjd_Y1gJ8"
  }
}